﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LowLevelGraphics.Filter.Matlabrelated
{
    /// <summary>
    /// I2 = imhmin(I,h) suppresses all minima in I whose depth is less than h. I is a grayscale image and h is a scalar.
    /// 
    /// Regional minima are connected components of pixels with a constant intensity value, and whose external boundary pixels all have a higher value.
    /// By default, imhmin uses 8-connected neighborhoods for 2-D images, and 26-connected neighborhoods for 3-D images. For higher dimensions, imhmin uses conndef(ndims(I),'maximal').
    /// 
    /// I2 = imhmin(I,h,conn) computes the H-minima transform, where conn specifies the connectivity. conn can have any of the following scalar values.    /// </summary>
    public class imhmin : BaseImageFilter
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="imhmin"/> class.
        /// </summary>
        public imhmin()
        {
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="imhmin"/> class.
        /// </summary>
        /// <param name="_imhmin">The _imhmin.</param>
        internal imhmin(imhmin _imhmin)
        {
        }

        /// <summary>
        /// This is used to clone a filter, each filter must implement it's own clone functionality
        /// </summary>
        /// <returns></returns>
        public override object Clone()
        {
            return new imhmin(this);
        }
    }
}
